//
//  UserRequest.h
//  Cycling
//
//  Created by cjg.mini on 2023/3/3.
//

#import "BaseRequest.h"
#import "UserModel.h"

NS_ASSUME_NONNULL_BEGIN

@interface UserRequest : BaseRequest

/// 登陆接口
/// @param account account description
/// @param password password description
/// @param resultBlock resultBlock description
+ (void)loginWithAccount:(NSString *)account password:(NSString *)password result:(void(^)(UserModel *user))resultBlock;

/// 注册接口
/// @param email email description
/// @param code code description
/// @param password password description
/// @param resultBlock resultBlock description
+ (void)registerWithEmail:(NSString *)email code:(NSString *)code password:(NSString *)password result:(void(^)(UserModel *user))resultBlock;

/// 完善接口
/// @param name name description
/// @param age age description
/// @param gender gender description
/// @param resultBlock resultBlock description
+ (void)completeUserFileWithName:(NSString *)name age:(NSUInteger)age weight:(NSString *)weight gender:(NSUInteger)gender result:(void(^)(BOOL ret))resultBlock;

/// 找回密码接口
/// @param email email description
/// @param captcha captcha description
/// @param password password description
/// @param resultBlock resultBlock description
+ (void)resetPasswordWithEmail:(NSString *)email captcha:(NSString *)captcha password:(NSString *)password result:(void(^)(NSInteger code))resultBlock;

/// 第三方登陆
/// @param platform platform description
/// @param code code description
/// @param resultBlock resultBlock description
+ (void)thirdLoginWithPlatform:(NSString *)platform code:(NSString *)code result:(void(^)(UserModel *user))resultBlock;

/// 退出登陆
+ (void)logoutResult:(void(^)(BOOL ret))resultBlock;

/// 是否有未读消息
/// @param resultBlock resultBlock description
+ (void)getNoticeNumResult:(void(^)(BOOL ret))resultBlock;

/// 邮箱验证码
/// @param event event description
/// @param email email description
/// @param resultBlock resultBlock description
+ (void)getEmali:(NSString *)event email:(NSString *)email result:(void(^)(BOOL ret))resultBlock;
@end

NS_ASSUME_NONNULL_END
